<template>
	<div id="app">
		<router-view/>
	</div>
</template>

<script>
	var vm;

	import menuTool from '@/js/common/menu'
	import setCampusTime from '@/js/common/setCampusTime'

	export default {
		name: 'App',
		created: function() {
			vm = this;
			
			//如果已经有登录,首次打开页面
			if(tool.getItem(lsKey.token) != null) {
				//请求权限菜单,设置路由
				api.menu().then(function(data) {
					//根据菜单设置路由,获取权限数据
					var permit = menuTool.getPermit(data.menuList);
					vm.$store.commit("setPermit", permit);

					//根据菜单获取导航数据
					var navObj = menuTool.getNav(data.menuList);
					vm.$store.commit("setNav", navObj.nav);
					vm.$store.commit("setFirstPath", navObj.firstPath);
					
					//如果token过期,就会被接口拦截器跳转至登录页
					//当前有登录,却在登录页,则跳转到菜单首页
					if(vm.$route.path == "/login") {
						router.push(navObj.firstPath);
					}
				})

				//默认用户所属校区为当前校区,保存至状态管理
				let user = tool.getItem(lsKey.user, true);
				//全局用户角色级别
				vm.$store.commit("setRoleMode", user.roleMode);
				vm.$store.dispatch("top/updateOrgEntrySchool", false);
				if(user.isAttaching=='1'){
					vm.$store.dispatch("top/updateOrgEntrySchool", true);
				}
				if(user.campusList.length > 0) {
				
					vm.$store.commit("setCampusId", user.campusList[0].campusId);
					//获取本校区上课时间
	          	    let param = {campusId : user.campusList[0].campusId }	          	   
	          	 
					api.getListOfCampus(param).then(function(data){
						setCampusTime(data.list);
					})
				}
								
			}
			
			tool.alert = this.$alert;
			tool.confirm = this.$confirm;
			tool.prompt = this.$prompt;
			tool.msgbox = this.$msgbox;
			tool.notify = this.$notify;
			tool.loading = this.$loading;
			tool.message = this.$message;
			
			//因为提示框都定制偏右了，有些页面需要居中则使用这个
			tool.message2 = function(obj) {
				tool.message(obj);
				$(".el-message").addClass("el-message-center");
			}

			//判断内核,如果不是webkit内核,进行提示
			var agent = navigator.userAgent.toLowerCase();
			if(agent.indexOf("webkit") < 0) {
				tool.notify({
					title: '兼容性提示',
					message: '请使用谷歌浏览器，或开启双核浏览器的极速模式。 (当前浏览器或模式可能会导致页面不兼容)',
					type: 'warning',
					duration: 0
				})
			}
		}
	}
</script>

<style lang="scss" src="./style/module/button.css"></style>
<style lang="scss" src="./style/element_cover.css"></style>
